package com.chenqi.community.dao;

import com.chenqi.community.entity.Post;
import javafx.geometry.Pos;
import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author Ardai
 */
@Repository
@MapperScan
public interface PostDao {
    //查找所有帖子
    List<Post> findAllPost();

    //分页查询帖子
    List<Post> findAllPostByPage(@Param("start") Integer start, @Param("rows") Integer rows);

    //查找帖子总数
    Integer findPostCount();

    //查找某个详细的帖子
    Post findPostById(@Param("pid") Integer pid);

    //添加帖子
    void insertPost(Post posts);

    //查询所有帖子id
    List<Integer> findAllPostId();

    //更新帖子信息
    void updatePostInfo(Post post);

    //根据帖子标题模糊查找(查询也需要做分页)
    List<Post> findPostByTitle(@Param("start") Integer start, @Param("rows") Integer rows, @Param("title") String title);

    //当前查询标题的帖子个数
    Integer findSearchTitleCount(@Param("title") String title );

    //根据分类id不同查询帖子个数
    Integer findPostByTypeIdCount(@Param("tid") Integer tid);

    //根据分类查询帖子
    List<Post> findPostByTypeId(@Param("start") Integer start, @Param("rows") Integer rows, @Param("tid") Integer tid);

    //删除帖子
    void deletePostById(@Param("pid") Integer pid);

}
